The present invention relates to an animation data generation apparatus and an animation data generation method for generating animation data of 3D characters comprising 3D shapes, and an animated video generation apparatus and an animated video generation method for generating animated video of 3D characters.
Fundamental techniques of common animation technology in the 3D computer graphics (hereinafter abbreviated as 3DCG) are described, for example, in xe2x80x9cIntroduction to High Technology Series: 3DCGxe2x80x9d, supervised by Masayuki Nakajima, edited by Institute of Image Information and Television Engineers, Ohm-sha, 1994. This reference explains the animation technology that has been used in the 3DCG world.
The most important point in the animation employing character strings having 3D shapes, which are used as titles in the 3DCG or the like, is that a period during which the character strings are readable, i.e., the character strings having 3D shapes are standing still (stationary) and the respective characters are positioned so as to be read by the readers, should exist during the animation. When the readers who read generated animated video cannot grasp the meaning of the character strings, such animated video has a fatal defect as 3D animation, especially in the case of titlers. If the character strings of the animated video cannot be read at all, the animated video of 3D characters makes no sense.
In the conventional 3DCG, a technique of generating animation by using a key frame has been employed. In this case, by using an image of the character strings in a readable state as the key frame, a state where the character strings are readable is provided to the readers also in the case of 3D character animation.
However, this technique of generating animation by using the key frames is not suitable for the generation of animation corresponding to motions like a ball bounding (bouncing) i.e., such animation in which a motion of an object that is moved by animation is complicated and the speed of the motion varies during the movement. If the motion of a bounding ball is represented by animation of the key frames, there is a risk that the motion may become jerky. In order to represent the motion of such animation smoothly by using the key frames, more key frames than usual should be employed, and thus, operations of animation creators become complicated and the workability is decreased.
To solve this problem, a technique of generating animation on the basis of a predetermined function, such as a physical function (i.e., a function that employs the fundamental rules of physics), has also been developed. In cases where animation is generated on the basis of this function, the key frames are not employed and, accordingly, the motion of the animation becomes smooth. For example, principles of 3DCG animation based on mathematical-physical models are described in xe2x80x9cPHYSICALLY-BASED MODELING FOR COMPUTER GRAPHICS: A Structured Approachxe2x80x9d, written by Ronen Barzel, ACADEMIC PRESS, INC., 1992. This reference includes a description of kinematic animation, while this is like a handbook for the physics of rigid body dynamics rather than the 3DCG animation technique. When animation having a motion like a bounding ball is to be generated, a function corresponding to the motion of the ball is set and the animation is generated on the basis of the function, whereby animation having a smooth motion can be generated.
However, when animation of 3D characters is generated by using this technique of generating animation on the basis of the functions, each of the characters freely moves according to the functions, and therefore, there may be a situation in which the reader cannot read the characters. As already mentioned, when the readers who read the generated animated video cannot grasp the meaning of the character strings, such animation of 3D-shaped character strings has a fatal defect.
Further, being able to control a position in which animated video of a title is spread with respect to the main video, i.e., video with which the title is to be composed, and a position in which the title is readable are important technical factors in 3D character animation. When the state where the title is readable appears in an important part of the main video (for example, a face part of a hero or a heroin), even if the title is readable, this is not a suitable method for composing the animated video of the title and the main video. Further, when the position in which the 3D characters are spread is decided manually, larger burdens are put upon the operators, whereby the workability is decreased.
An object of the present invention is to provide an animation data generation apparatus and method which can realize a readable state of 3D characters during a period corresponding to a part of an animation even when animation data of the 3D characters"" is generated on the basis of functions.
Another object of the present invention is to provide an animated video generation apparatus and method which supplies the readers a state where 3D characters are readable by the readers during a period corresponding to a part of an animation even when animated video of the 3D characters is generated on the basis of functions.
A further object of the present invention is to provide an animated video generation apparatus and method which can properly compose animated video of 3D characters with the main video.
Other objects and advantages of the present invention will become apparent from the following detailed description. Specific embodiments which are described are provided only for illustration since various additions and modifications within the spirit and scope of the invention will be apparent to those of skill in the art from the detailed description.
According to a first aspect of the present invention, there is provided an animation data generation apparatus comprising: an interface unit for setting a time allocation between 3D character animations in a moving state and in a standstill state, and a type of the animation in the moving state; a number-of-frame calculation unit for calculating the number of frames corresponding to the animation on the basis of the time allocation between animations which is set by the interface unit; and an animation data generation unit for generating data of the animation in the standstill state so that the 3D characters can be read, and for generating data of the 3D character animation in the moving state so as to link to the animation data in the standstill-state by using the number of frames calculated by the number-of-frame calculation unit and a function corresponding to the type of the animation in the moving state set by the interface unit. Therefore, even when 3D character animation data is generated on the basis of the function, states where the 3D characters are readable can be supplied during a period corresponding to a standstill state of the animation. Further, since the interface unit performs the time allocation to the standstill state, the state in which the 3D characters are readable can be set in a period that is designated by the users.
According to a second aspect of the present invention, in accordance with the animation data generation apparatus of the first aspect, the interface unit also sets characters which are used in animation, and the animation data generation unit generates the animation data by using 3D character data corresponding to the set characters. Therefore, a 3D character animation of a desired character string can be generated.
According to a third aspect of the present invention, the animation data generation apparatus of the second aspect further comprises a 3D character generation unit for generating 3D character data corresponding to the characters which are set by the interface unit. The animation data generation unit generates the animation data by using the 3D character data which is generated by the 3D character generation unit. Therefore, a 3D character animation can be generated for not only previously prepared 3D characters but also for arbitrary characters.
According to a fourth aspect of the present invention, the animation data generation apparatus of the second aspect further comprises a storage unit which has a table including the characters which are set by the interface unit and the 3D character data of the set characters in a correspondence with each other. The the animation data generation unit generates the animation data by using the 3D character data stored in the storage unit. Therefore, the 3D character generation unit of the third aspect is not required, and 3D character animation can be generated for arbitrary characters with a simple structure. The present invention is especially suitable for cases where 3D character animation is generated only for alphabets, i.e., where the number of characters to be employed is small.
According to a fifth aspect of the present invention, in accordance with the animation data generation apparatus of the first aspect, the interface unit sets the type of animation by using templates. Therefore, the animation type can be easily set.
According to a sixth aspect of the present invention, in accordance with the animation data generation apparatus of the first aspect, the interface unit also sets an arrangement of 3D characters in the standstill state, and the animation data generation unit generates the animation data in the standstill state on the basis of the set arrangement of the 3D characters in standstill. Therefore, the animation data can be generated with more detailed setting.
According to a seventh aspect of the present invention, in accordance with the animation data generation apparatus of the sixth aspect, the interface unit sets the arrangement of 3D characters in the standstill state by using templates. Therefore, the arrangement of 3D characters in standstill states can be easily set.
According to an eighth aspect of the present invention, in accordance with the animation data generation apparatus of the first aspect, the animation data generation unit generates the animation data by using a physical function as a function corresponding to the type of the animation. Therefore, an animation based on the physical rules, which are difficult to generate using key frames, can be easily generated. Further, states where 3D characters are readable can be supplied during a period corresponding to a standstill state of the animation.
According to a ninth aspect of the present invention, in accordance with the animation data generation apparatus of the first aspect, the animation data generation unit generates the animation data by using a function corresponding to at least one process among scaling, translating, and rotation. Therefore, an animation corresponding to at least one process among scaling, translating and rotation can be generated, and states where 3D characters are readable can be supplied during a period corresponding to the standstill state of the animation.
According to a tenth aspect of the present invention, in accordance with the animation data generation apparatus of the first aspect, the animation data generation unit generates the animation data for each character. Therefore, an animation which includes characters each having a different motion can be generated, whereby animation that excites the readers"" interests can be generated.
According to an eleventh aspect of the present invention, accordance with in the animation data generation apparatus of the first aspect, the animation data generation unit generates the animation data for each of the individual parts of each character or for each group of characters. Therefore, animation data in which each of the individual parts of each character or each group of characters moves differently can be generated. For example, when the number of characters is small, animation data is generated for each of the individual parts of each character, whereby animation having a more complicated motion can be generated. On the other hand, when the number of characters is large, animation data is generated for each group of characters, thereby preventing the animation from being too complicated.
According to a twelfth aspect of the present invention, in accordance with the animation data generation apparatus of the first aspect, the interface unit receives speech input, and sets the type of the animation in the moving state on the basis of the speech input. Therefore, the animation type or the like can be set by speech. More particularly, for some speech input, an animation type that is judged to be the closest to the speech input is selected, whereby the user can enjoy an animation which is set for an onomatopoeic word or a mimetic word that has been freely input by the user, and, accordingly, an interface that excites the users"" interests can be supplied.
According to a thirteenth aspect of the present invention, there is provided an animation data generation method comprising: a setting step of setting a time allocation between 3D character animations in a moving state and in a standstill state, and a type of the animation in the moving state; a number-of-frame calculating step of calculating the number of frames corresponding to the animation on the basis of the set time allocation between the animations; and an animation data generation step of generating data of the animation in the standstill state so that 3D characters can be read, and generating data of the 3D character animation in the moving state so as to link to the data of the animation in the standstill state by using the number of frames that are calculated in the number-of-frame calculation step and a function corresponding to the type of the animation set in the setting step. Therefore, even when 3D character animation data is generated on the basis of the function, states where the 3D characters are readable can be supplied during a period corresponding to a standstill state of the animation. Further, since the setting step performs the time allocation to the standstill state, the state in which the 3D characters are readable can be set in a period designated by the users.
According to a fourteenth aspect of the present invention, there is provided a computer-readable program storage medium that contains a program for making a computer execute: a setting step of setting a time allocation between 3D character animations in a moving state and in a standstill state, and a type of the animation in the moving state; a number-of-frame calculating step of calculating the number of frames corresponding to the animation on the basis of the set time allocation between the animations; and an animation data generation step of generating data of the animation in the standstill state so that 3D characters can be read, and generating data of the 3D character animation in the moving state so as to link to the data of the animation in the standstill state by using the number of frames calculated in the number-of-frame calculation step and a function corresponding to the type of the animation set in the setting step. Therefore, even when 3D character animation data is generated on the basis of the function, states where the 3D characters are readable can be supplied during a period corresponding to a standstill state of the animation. Further, since the setting step performs the time allocation to the standstill state, the state in which the 3D characters are readable can be set in a period designated by the users.
According to a fifteenth aspect of the present invention, there is provided an animated video generation apparatus comprising: an interface unit for setting a time allocation between 3D character animations in a moving state and in a standstill state, and a type of the animation in the moving state; a number-of-frame calculation unit for calculating the number of frames corresponding to the animation on the basis of the time allocation between the animations set by the interface unit; an animation data generation unit for generating data of the animation in the standstill state so that 3D characters can be read, and generating data of the 3D character animation in the moving state so as to link to the data of the animation data in the standstill state by using the number of frames calculated by the number-of-frame calculation unit and a function corresponding to the type of the animation in the moving state set by the interface unit; a characteristic amount calculation unit for calculating a characteristic amount as an amount which is characteristic of the 3D character animation; a camera control unit for calculating a position and a posture of a camera with respect to the animation data based on the characteristic amount so that the 3D character animation in the standstill state can be read; and a rendering unit for generating animated video of 3D characters by using the camera position and posture calculated by the camera control unit and the animation data. Therefore, animated video of 3D characters in the standstill state can be generated so that the 3D characters can be read.
According to a sixteenth aspect of the present invention, in accordance with the animated video generation apparatus of the fifteenth aspect, the camera control unit calculates the camera position and posture by using coordinates and a posture vector of the 3D characters in the standstill state. Therefore, 3D characters can be read in animated video of the 3D characters in a predetermined standstill state.
According to a seventeenth aspect of the present invention, in accordance with the animated video generation apparatus of the fifteenth aspect, the camera control unit calculates a position and a posture of the camera by using coordinates and posture vectors of the 3D characters in plural standstill states for each of the standstill states, and calculates a position and a posture of the camera in the moving state by using a function for interpolating the camera positions and postures of the plural standstill states. Therefore, animated video of 3D characters can be generated so that the 3D characters can be read in each standstill state. Further, a more complicated path over which the camera moves between the adjacent standstill states can be set.
According to an eighteenth aspect of the present invention, in accordance with the animated video generation apparatus of the fifteenth aspect, the camera control unit calculates a position and a posture of the camera by using coordinates and posture vectors of 3D characters in plural standstill states for each of the standstill states, and calculates a position and a posture of the camera in the moving state by using a function that is optimized by using an objective function based on generated animated video. Therefore, animated video of 3D characters can be generated so that the 3D characters can be read in each standstill state. Further, a path over which the camera moves between the adjacent standstill states can be set automatically and more properly.
According to a nineteenth aspect of the present invention, the animated video generation apparatus of the fifteenth aspect further includes a composition unit for composing the 3D character animated video that is generated by the rendering unit upon a predetermined area of main video. Therefore, the main video and the animated video of 3D characters can be properly composed.
According to a twentieth aspect of the present invention, in accordance with the animated video generation apparatus of the nineteenth aspect, the composition unit composes the 3D character animated video upon an area of the main video other than an area which is not desirable to be obstructed by the 3D character animated video. Therefore, the 3D character animated video can be prevented from overlapping important parts in the main video, and the 3D character animated video and the main video can be properly composed.
According to a twenty-first aspect of the present invention, there is provided an animated video generation method comprising: a setting step of setting a time allocation between 3D character animations in a moving state and in a standstill state, and a type of the animation in the moving state; a number-of-frame calculation step of calculating the number of frames corresponding to the animation on the basis of the time allocation between the animations set in the setting step; an animation data generation step of generating data of the animation in the standstill state so that 3D characters can be read, and generating data of the 3D character animation in the moving state so as to link to the animation data in the standstill state by using the number of frames calculated in the number-of-frame calculation step and a function corresponding to the type of the animation set in the setting step; a characteristic amount calculation step of calculating a characteristic amount as an amount which is characteristic of the 3D character animation; a camera control step of calculating a position and a posture of a camera with respect to the animation data based on the characteristic amount so that the 3D character of the animation in the standstill state can be read; and a rendering step of generating 3D character animated video by using the camera position and posture calculated in the camera control step and the animation data. Therefore, animated video of 3D characters in the standstill state can be generated so that the 3D characters can be read.
According to a twenty-second aspect of the present invention, there is provided a computer-readable program storage medium that contains a program for making a computer execute: a setting step of setting a time allocation between 3D character animations in a moving state and in a standstill state, and a type of the animation in the moving state; a number-of-frame calculation step of calculating the number of frames corresponding to the animation on the basis of the time allocation between the animations set in the setting step; an animation data generation step of generating data of the animation in the standstill state so that 3D characters can be read, and generating data of the 3D character animation in the moving state so as to link to the animation data in the standstill state by using the number of frames calculated in the number-of-frame calculation step and a function corresponding to the type of the animation set in the setting step; a characteristic amount calculation step of calculating a characteristic amount as an amount which is characteristic of the 3D character animation; a camera control step of calculating a position and a posture of a camera with respect to the animation data based on the characteristic amount so that the 3D character of the animation in the standstill state can be read; and a rendering step of generating 3D character animated video by using the camera position and posture calculated in the camera control step and the animation data. Therefore, animated video of 3D characters in the standstill state can be generated so that the 3D characters can be read.